package cn.rkylin.oms.item.dao;

import java.util.List;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Repository;

import cn.rkylin.core.IDataBaseFactory;
import cn.rkylin.oms.item.domain.Item;
import cn.rkylin.oms.item.vo.ItemVO;

/**
 * 平台商品数据访问层
 *
 * @author wangxing
 * @version 1.0
 * @created 16-2月-2017 9:00:00
 */
@Repository(value = "itemDAO")
public class ItemDAOImpl implements IItemDAO {

    @Autowired
    protected IDataBaseFactory dao;

    /**
     * 查询平台商品为同步库存
     * 
     * @param itemVO
     *            平台商品VO
     * @return 平台商品 list
     * @throws Exception
     *             异常
     */
    public List<ItemVO> selectDataForSynchStock(ItemVO itemVO) throws Exception {
        List<ItemVO> resultList = dao.findAllList("selectDataForSynchStock", itemVO);

        return resultList;
    }
    
    /**
     * 查询平台sku list为同步库存
     * 
     * @param itemVO
     *            平台商品VO
     * @return 平台sku list
     * @throws Exception
     *             异常
     */
    public List<ItemVO> selectSkuForSynchStock(ItemVO itemVO) throws Exception {
        List<ItemVO> resultList = dao.findAllList("selectSkuForSynchStock", itemVO);

        return resultList;
    }

    /**
     * 查询平台sku list为组合商品
     * 
     * @param itemVO
     *            平台商品VO
     * @return 平台sku list
     * @throws Exception
     *             异常
     */
    public List<ItemVO> selectSkuForGroup(ItemVO itemVO) throws Exception {
        List<ItemVO> resultList = dao.findAllList("selectSkuForGroup", itemVO);

        return resultList;
    }

    /**
     * 更新平台商品
     *
     * @param item
     *            平台商bean
     * @return 更新条数
     * @throws Exception
     *             异常
     */
    public int update(Item item) throws Exception {
        return dao.update("updateByItemCodeSelectiveItem", item);
    }

}
